<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
    *{
        margin:0;
        padding: 0;
        box-sizing: border-box;
    }
    .main{
        width: 1000px;
        margin:20px auto;
    }
    .buttons{
        width: 100%;
        display: flex;
    }
    .buttons > input{
        flex: 1;
    }
    .box{
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-top: 10px;
    }
    .box > img{
        width: 23%;
        display: block;
        margin-bottom: 10px;
    }
    .box > img:hover{
        box-shadow: 0 0 4px 2px gray;
    }
    </style>
</head>
<body>
    <div class="main">
        <div class="buttons">
            <input type="button" value="上一页" id="Last"> 
            <input type="button" value="下一页" id="next">
        </div>
        <div id="box" class="box"></div>
    </div>
</body>
<script>
    var box = document.getElementById('box');
    var Last = document.getElementById('Last');
    var next = document.getElementById('next')
    // 1.首先需要商品数据,准备一个数组将其存起来
    var arrs = [
                    './images/00_03.png','./images/00_04.png','./images/00_05.png',
                    './images/00_06.png','./images/00_07.png','./images/00_24.png',
                    './images/00_16.png','./images/00_10.png','./images/00_11.png',
                    './images/00_12.png','./images/00_13.png','./images/00_14.png',
                    './images/00_16.png','./images/00_17.png','./images/00_18.png',
                    './images/00_19.png','./images/00_20.png','./images/00_26.png',
                    './images/00_22.png','./images/00_23.png',
    ]
    // 2.需要将数组里面的商品遍历循环
    // for(var i =0;i<arrs.length;i++){
    //     box.innerHTML += '<img src ="'+arrs[i]+'">'
    // }
    // 3.使用函数动态生成第一页 一页展示8个商品  
    // 3.1 商品是重复出现的  可以先用函数封装起来
    function myFunction(start,end){
        var html = '';
        for(var i = start; i <= end;i++){
            html += '<img src ="'+arrs[i]+'">'
        }
        box.innerHTML = html;
    }
    // 打开页面的时候展现的数据 调用函数
    myFunction(0,7);
    // 4.先实现点击下一页按钮展示新的商品效果
    // 4.1 设置当前页数 点击下一页的时候页数加 1
    var currentPage = 1;
    next.onclick = function(){
        // for(var i = 8; i <= 15;i++){
        //     box.innerHTML += '<img src ="'+arrs[i]+'">'
        // }   
        if(currentPage === Math.ceil(arrs.length / 8)){
            alert('没有数据啦,不能再点了!')
            return;
        }
        currentPage++;
        // 5.编写新的一页的数据索引该从哪里开始 一页展示 8个商品 商品索引从 0 开始 第二页开始的商品索引为 8 
        var start = (currentPage - 1) * 8;
        var end = start + 7;
        // 判断结束位置的索引是否超出了数组的索引 如果超出 就将结束位置设定为最大的索引
        if(end >= arrs.length - 1){
            end = arrs.length - 1;
        }
        // 调用封装好的函数
        myFunction(start,end)
    }
    // 6.点击上一页切换
    Last.onclick = function(){
        // 6.1 假如是第一页 应该告诉用户已经没有上一页了 不能再点击了
        if(currentPage === 1){
            alert('已经没有数据啦,客官不要再点了!')
            // 结束函数的执行
            return;
        }
        currentPage--;
        var start = (currentPage - 1) * 8;
        var end = start + 7;
        myFunction(start,end)
    }
</script>
</html>